This invention relates generally to TNS filter signal processing and, more particularly, to the effective deployment of TNS filters.
Temporal Noise Shaping (TNS) has been successfully applied to audio coding by using the duality of linear prediction of time signals. (See, J. Herre and J. D. Johnston, xe2x80x9cEnhancing the Performance of Perceptual Audio Coding by Using Temporal Noise Shaping (TNS),xe2x80x9d in 101st AES Convention, Los Angeles, November 1996, a copy of which is incorporated herein by reference). As is well known in the art, TNS uses open-loop linear prediction in the frequency a domain instead of the time domain. This predictive encoding/decoding process over frequency effectively adapts the temporal structure of the quantization noise to that of the time signal, thereby efficiently using the signal to mask the effects of noise.
In the MPEG2 Advanced Audio Coder (AAC) standard, TNS is currently implemented by defining one filter for a given frequency band, and then switching to another filter for the adjacent frequency band when the signal structure in the adjacent band is different than the one in the previous band. This process continues until the need for filters is resolved or, until the number of permissible filters is reached. With respect to the latter, the AAC standard limits the number of filters used for a block to either one filter for a xe2x80x9cshortxe2x80x9d block or three filters for a xe2x80x9clongxe2x80x9d block. In cases where the need for additional filters remains but the limit of permissible filters has been reached, the frequency spectra not covered by a TNS filter do not receive the beneficial masking effects of TNS.
This current practice is not an effective way of deploying TNS filters for most audio signals. For example, it is often true for an audio signal that a main (or stronger) signal is superimposed on a background (or weaker) signal which has a different temporal structure. In other words, the audio signal includes two sources, each with different temporal structures (and hence TNS filters) and power spectra, such that one signal is audible in one set of frequency bands, and the other signal is audible in another set of frequency bands. FIG. 1C illustrates such a signal within a single long block. The signal in FIG. 1C is composed of the two signals shown in FIGS. 1A and 1B, each of which have different temporal structures (envelopes). The corresponding spectra of these signals are shown in FIGS. 1D-1F, respectively. From FIG. 1F, it can be seen that the signal shown in FIG. 1A is audible in the set of frequency bands b2, b4, b6 and b8. In contrast, the signal shown in FIG. 1B is audible in the bands b1, b3, b5 and b7. In order for the entire spectra of the signal to be covered by TNS filters, the current implementation requires eight filters, the encoding of which would consume too many bits using the AAC syntax, and thus, is not permitted by the AAC standard. To comply with the AAC standard, only three filters, e.g., those corresponding to bands b1, b2 and b3 are coded for transmission to the receiver. This results in part of the spectrum (e.g., b4 through b8) not being covered by TNS filters, with the adverse effect that audible artifacts may appear in the reconstructed signal.
The above-identified problems are solved and a technical advance is achieved in the art by providing a method for effectively deploying TNS filters for use in processing audio signals. An exemplary method includes calculating a filter for each of a plurality of frequency bands; grouping the filters into a plurality of groups; determining a representative filter for each group of the plurality of groups; and using the representative filter of each group for the frequency bands of that group.
An alternate method includes calculating a filter for each of a plurality of frequency bands; grouping the filters into a first group and a second group; determining a first representative filter for the first group and a second representative filter for the second group; using the first representative filter for frequency bands of the first group; and using the second representative filter for frequency bands of the second group.
A method of conveying filter information for a spectrum of an audio signal includes transmitting information regarding a first filter; transmitting information regarding a second filter; and transmitting a mask to indicate switching between the first filter and the second filter across the spectrum.
An alternate method of conveying filter information includes transmitting information regarding a first filter; transmitting information regarding a second filter; and transmitting a first negative integer when a filter is identical to the first filter.
Other and further aspects of the present invention will become apparent during the course of the following description and by reference to the attached drawings.